// 按红娘发布信息的多少排序

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
const $ = db.command.aggregate
// 云函数入口函数
exports.main = async (event, context) => {
 
  try {
    return await db.collection('admin')
      .aggregate()
      .lookup({
        from: 'user',
        localField: '_openid', //主表的条件._id
        foreignField: '_openid', //从表的条件
        as: 'TeacherList',
      })
      .match({
        status:true
      })
      //查询到数据后,在project中增加一个新字段,用$$.size获取TeacherList数组的长度
      .project({
        _id: 1,
        nickName: 1,
        avatarUrl:1,
        arraysize: $.size('$TeacherList')
      })
      //根据新字段排序
      .sort({
        arraysize: -1, //从大到小
      })
      .limit(10)
      .end()

  } catch (err) {
    console.log(err)
    return err
  }
}